package com.taoyige.bean;

import java.io.Serializable;
import java.net.URLEncoder;

/**
 * 接口URL实体类
 * @author peter
 * @version 1.0
 * @created 2014-11-12
 */
public class URLs implements Serializable {
	
	public final static String HOST = "www.taoyige.com";
	
	public final static String STATIC_HOST = "http://s.taoyige.com";
	
	public final static String HTTP = "http://";
	public final static String HTTPS = "https://";
	
	private final static String URL_SPLITTER = "/";
	private final static String URL_UNDERLINE = "_";
	
	private final static String PARAMS_TOKEN="?token=AMC4FRJZVG1T3S5NUHIWX9QKL07BOPY286ED";
	
	private final static String URL_API_HOST = HTTP + HOST + URL_SPLITTER;
	
	public final static String UPDATE_APP_VERSION = STATIC_HOST+URL_SPLITTER+"android_version.json";
	
	public final static String UPDATE_WELCOME_VERSION = STATIC_HOST+URL_SPLITTER+"android_welcome.json";
	
	//public final static String GOODS_INDEX= URL_API_HOST+"api/goods/index";
	/**
	 * 所有API必须传入token参数，我在下面就不列出来了

用户API

1.    /api/user/info 获取用户信息

method:GET 

@params uid:用户ID

2.    /api/user/create 创建用户

method:POST

@params pid：第三方平台id，支付宝是1、微博是2、QQ是3；pUserID：用户在第三方平台的唯一ID；pUserName：用户在第三方平台上的昵称；userName：用户昵称；thumbUrl：头像地址（可选）

 

商品API

3.    /api/goods/detail 获取商品详细信息，没有传入商品ID则返回当前销售的商品信息

Method:GET

@params id:商品ID（可选）

4.    /api/goods/ commingsoon 回去即将上架销售的商品信息

Method:GET

@params 无

 

订单API

5.    /api/order/ add 创建订单

Method: POST

@params userID：用户ID；productID：商品ID；amount：订单总价=现价+运费；totalPrice：订单现价，就是折扣后的价格；oriPrice：订单原价；addressInfo：收货地址

6.    /api/order/ close 关闭订单

Method: POST

@params id：订单ID；uid：用户ID

7.    /api/order/pay 设置订单为已付款状态

Method:POST

@params id：订单ID；notify：支付成功返回的字符串消息（可选）

8.    /api/order/detail 获取订单详细信息

Method: GET

@params id：订单ID；uid：用户ID

9.    /api/order/unpaid 获取未付款订单

Method: GET

@params uid：用户ID

10. /api/order/paid 获取已支付订单

Method: GET

@params uid：用户ID

11. /api/order/complete 获取已经完成的订单，例如已经关闭、已经收货的订单

Method: GET

@params uid：用户ID；start：起始位置，0是第一条；count：订单数量，默认20（可选）

 

收货地址API

12. /api/addr/ list 返回用户的收货地址列表

Method: GET

@params uid：用户ID

13. /api/addr/add 添加收货地址

Method: POST

@params uid：用户ID；name：收货人姓名；province：省份；city：市；county：县；details：详细地址；mobilephone：手机；postcode：邮编；

14. /api/addr/update 更新收货地址

Method: POST

@params id：地址ID；name：收货人姓名；province：省份；city：市；county：县；details：详细地址；mobilephone：手机；postcode：邮编；

15./api/addr/del 删除收货地址

      Method: POST

      @params id：地址ID

	 */
	public final static String GOODS_INDEX= URL_API_HOST+"api/goods/detail"+PARAMS_TOKEN;
	
	public final static String GOODS_COMMING_SOON =  URL_API_HOST+"api/goods/commingsoon"+PARAMS_TOKEN;
	public final static String GOODS_DETAIL = URL_API_HOST+"api/goods/detail"+PARAMS_TOKEN;
	
	public final static String ADDR_DEFAULT= URL_API_HOST+"api/addr/defaultAddr"+PARAMS_TOKEN;
	public final static String ADDR_LIST = URL_API_HOST+"api/addr/list"+PARAMS_TOKEN;
	//public final static String ADDR_LIST = "http://www.etejia.cn/json7.html";
	
	public final static String ADDR_SET_DEFAULT = URL_API_HOST+"api/addr/setDefault"+PARAMS_TOKEN;
	public final static String ADDR_ADD = URL_API_HOST+"api/addr/add"+PARAMS_TOKEN;
	public final static String ADDR_UPDATE = URL_API_HOST+"api/addr/update"+PARAMS_TOKEN;
	public final static String ADDR_DEL = URL_API_HOST+"api/addr/del"+PARAMS_TOKEN;
	
	/**uid */
	public final static String USER_INFO = URL_API_HOST+"api/user/info"+PARAMS_TOKEN;
	/**
	 * method:POST
	*	@params pid：第三方平台id，支付宝是1、微博是2、QQ是3；pUserID：用户在第三方平台的唯一ID；
	*pUserName：用户在第三方平台上的昵称；userName：用户昵称；thumbUrl：头像地址（可选）
	 */
	public final static String USER_ADD= URL_API_HOST+"api/user/create"+PARAMS_TOKEN;
	
	
	/**
	 * Method: POSTsh  生成订单
	*	@params userID：用户ID；productID：商品ID；amount：订单总价=现价+运费；totalPrice：订单现价，就是折扣后的价格；oriPrice：订单原价；addressInfo：收货地址
	*/
	public final static String ORDER_ADD = URL_API_HOST+"api/order/add"+PARAMS_TOKEN;
	/**
	 * Method: POST  关闭订单
	*	@params id：订单ID；uid：用户ID
	 */
	public final static String ORDER_CLOSE = URL_API_HOST+"api/order/close"+PARAMS_TOKEN;
	
	/**
	 * 设置订单为已付款状态
	*	Method:POST
	* @params id：订单ID；
	 */
	public final static String ORDER_PAY = URL_API_HOST+"api/order/pay"+PARAMS_TOKEN;
	
	/**
	 * 设置订单为已经收货状态
	*	Method:POST
	* @params id：订单ID；
	 */
	public final static String ORDER_RECEPIT = URL_API_HOST+"api/order/checkOrder"+PARAMS_TOKEN;
	
	/**
	 * Method: GET
	*	@params id：订单ID；uid：用户ID
	 */
	public final static String ORDER_DETAIL = URL_API_HOST+"api/order/detail"+PARAMS_TOKEN;
	//public final static String ORDER_DETAIL ="http://www.etejia.cn/json_order_detail.html";
	/**
	 * Method: GET 获取未支付订单
	*	@params uid：用户ID start：起始位置，0是第一条；count：订单数量，默认20（可选）
	 */
	public final static String ORDER_UNPAID = URL_API_HOST+"api/order/unpaid"+PARAMS_TOKEN;
	
	/**
	 * Method: GET 获取已支付订单
	*	@params uid：用户ID start：起始位置，0是第一条；count：订单数量，默认20（可选）
	 */
	public final static String ORDER_PAID = URL_API_HOST+"api/order/paid"+PARAMS_TOKEN;
	//public final static String ORDER_PAID ="http://www.etejia.cn/json6.html";
	
	/**
	 * Method: GET  获取已经完成的订单，例如已经关闭、已经收货的订单
	*	@params uid：用户ID start：起始位置，0是第一条；count：订单数量，默认20（可选）
	 */
	public final static String ORDER_COMPLETE = URL_API_HOST+"api/order/complete"+PARAMS_TOKEN;
	
	/**
	 *WebView 获取商品物流信息
	*	@params uid：用户ID id:订单id
	 */
	public final static String ORDER_TRACK = URL_API_HOST+"api/order/trackView"+PARAMS_TOKEN;
	
	/**
	 * 对URL进行格式处理
	 * @param path
	 * @return
	 */
	private final static String formatURL(String path) {
		if(path.startsWith("http://") || path.startsWith("https://"))
			return path;
		return "http://" + URLEncoder.encode(path);
	}	
}